package pistas;

import titiritero.Posicionable;
import utilidades.Posicion;
import aviones.Avion;
import aviones.AvionComputarizado;
import aviones.AvionPesado;
import aviones.AvionSimple;
import aviones.Helicoptero;
import elementos.*;
import utilidades.*;

public abstract class Pista extends ElementoConPosicion implements Posicionable {
	
	protected Direccion direccion;
	
	public Pista(Posicion unaPosicion) {
		
		super(unaPosicion);
	}

// cada hija de pista redefine el metodo que necesita devolver true	
	public abstract boolean puedeRecibir(Helicoptero unhelicoptero);
	public abstract boolean puedeRecibir(AvionSimple unAvionSimple);
	public abstract boolean puedeRecibir(AvionPesado unAvionPesado);
	public abstract boolean puedeRecibir(AvionComputarizado unAvionComputarizado);
	public abstract boolean hayAterrizaje(Avion unAvion);
	
	public Direccion getDireccion(){
		return this.direccion;
	}

}
